package com.runccyy.service;

import com.runccyy.dao.model.RunRecordPO;
import com.runccyy.dao.model.RunRecordStatPO;
import com.runccyy.dao.model.StepInfo;
import com.runccyy.service.model.RunRecordStatBO;

import java.util.List;

public interface RunRecordService {
    // 新增或更新运动记录
    int insertOrUpdateRunRecord(List<RunRecordPO> runRecord);

    // 根据 userId 和 date 查询运动记录
    RunRecordPO getRunRecordByUserIdAndDate(Long userId, Long date);

    // 统计 stepCnt >= 5000 的天数，按 userId 分组，在指定时间范围内
    List<RunRecordStatBO> countDaysRank(Long startTime, Long endTime);

    // 累计单个账号的 stepCnt 数量，在指定时间范围内
    List<RunRecordStatBO> sumStepCntRank(Long startTime, Long endTime);

    StepInfo queryStepInfo(Long userId);
}
